/**
* Copyright (C) 2007 Pedro Miller Rabinovitch.
* http://www.opensource.org/licenses/mit-license.php
*
* Basically, feel free to use it however you want to.
* Please give me credit where appropriate.
* 
* Pedro "Shade" Miller, gmail user: pedromr 
* http://exodia.org
*
* @author Miller
*
* $Id: IBehaviour.as 4 2007-12-11 16:34:19Z pedromr $
*/
package org.exodia.seeds.behaviours {	
	import org.exodia.seeds.model.Agent;
	
	/**
	 * The behaviour objects should *not* keep state. They will be reused for many agents.
	 */
	public interface IBehaviour {

		/**
		 * Initialize an agent for this behaviour.
		 * @param	agent The agent
		 */
		function initialize( agent:Agent ) : void;
		
		/**
		 * Tick the behaviour on a given agent for a specific segment of time
		 * @param	agent The agent
		 * @param	deltaMS Time elapsed in miliseconds
		 */
		function tick( agent:Agent, deltaMS:int ) : void;
		
	}
	
}
